package com.emm.yixun.common.dal.facade;
import javax.jws.WebParam;

import com.emm.yixun.common.page.Page;
import com.emm.yixun.common.response.Response;
import com.emm.yixun.common.response.ResponseList;

public interface BaseServiceFacade<entity,entityDto> {
   /**
    *新增
    */
	Response<entityDto> save(@WebParam(name="dto") entityDto dto);
	
	/**
	*修改,当selective=true时修改非空列,当selective=false修改所有列
	*/
	Response<Integer> updateByPrimaryKey(@WebParam(name="dto")entityDto dto,@WebParam(name="selective")Boolean selective);
	
	/**
	 *逻辑删除
	 */
	Response<Integer> deleteByPrimaryKey(@WebParam(name="id")Long id);
	
	/**
	 *根据dto查询记录
	 */
	ResponseList<entity> findByDto(@WebParam(name="dto")entityDto dto);
	/**
	 *根据dto以及分页参数查询记录
	 */
	Page<entity> findPageByDto(@WebParam(name="dto")entityDto dto,@WebParam(name="begin")Integer begin,@WebParam(name="row")Integer row);
}
